//这是一个上传文件的控制器
const formidatble = require('formidable')
const path = require('path')

exports.uploadFile = (req,res)=>{
   // 获取数据
   // 使用formidable+ajax的组合来实现文件上传
   // 1.创建一个实例对象
   let form = new formidatble.IncomingForm()
   // 2.配置编码格式
   form.encoding = 'utf-8'
   // 3.配置文件存储目录
   form.uploadDir = __dirname + '/../uploads'
   // 4.设置是否保存扩展名
   form.keepExtensions = true
   // 5.调用方法上传文件
   form.parse(req,(err,fields,files)=>{
      // 1.req:请求报文
      // 2.fields：普通键值对
      // 3。err错误信息对象
      // 4.files：文件上传完成后的相关信息，主要是存储上传成功后的信息
      if(err){
         res.json({code:400,msg:'failed to upload'})
        
      }else{
        
         // 要返回图片地址的最后的一截信息，可以使用path.basename方法
         res.json({code:200,msg:'succeed to upload',img:path.basename(files.img.path)})
      }
   })
}